﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CMS.Data.Repositorios;
using CMS.Data.Classes;

namespace App.UI.Adm
{
    public partial class Estados : System.Web.UI.Page
    {
        EstadoRepository EstadoRepository = new EstadoRepository();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CarregarPagina();
            }
        }


        private void CarregarPagina()
        {
            List<Estado> lstEstado = EstadoRepository.SelectAll().ToList();
            if (lstEstado.Count > 0)
            {
                grdView.DataSource = lstEstado;
                grdView.DataBind();
            }
        }

        protected void btnEditar_Command(object sender, CommandEventArgs e)
        {
            Response.Redirect("CadastroEstados.aspx?EstadoId=" + e.CommandArgument);
        }
        protected void btnDeletar_Command(object sender, CommandEventArgs e)
        {
            try
            {
                if (!String.IsNullOrEmpty(e.CommandArgument.ToString()))
                {
                    Estado Estado = EstadoRepository.SelectById(Convert.ToInt32(e.CommandArgument));
                    if (Estado != null)
                    {
                        EstadoRepository.Delete(Estado);
                    }
                    //ScriptManager.RegisterClientScriptBlock(this, GetType(), "alert", "alert('Registro deletado com sucesso!')", true);
                    CarregarPagina();
                }
            }
            catch (Exception)
            {
                ScriptManager.RegisterClientScriptBlock(this, GetType(), "alert", "alert('Falha na tentativa de deleção deste registro!')", true);
                throw;
            }

        }

        protected void grdView_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            try
            {
                grdView.PageIndex = e.NewPageIndex;
                CarregarPagina();
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }
        }

    }
}